﻿using System;
using System.Data;
using Amoo.Code.Common;

namespace Amoo.Code.Entity
{
    public class Usuario
    {
        public int idUsuario { get; set; }
        public string dsNome { get; set; }
        public string dsEmail { get; set; }
        public string dsEmailAmoo { get; set; }
        public string dsSenha { get; set; }
        public bool bolPrimeiroAcesso { get; set; }
        public DateTime dtPrimeiroAcesso { get; set; }
        public DateTime dtUltimoAcesso { get; set; }
        public bool bolUsuarioAtivo { get; set; }
        public string dsLogradouro { get; set; }
        public string dsEstado { get; set; }
        public string dsCidade { get; set; }
        public string dsPais { get; set; }
        public string dsBairro { get; set; }
        public string dsCep { get; set; }
        public bool bolCriaComunidade { get; set; }
        public bool bolUsuarioAdministrador { get; set; }
        public string Identidade { get; set; }
        public string CPFCNPJ { get; set; }


        protected internal static Usuario Load(System.Data.DataRow dr)
        {
            return new Usuario()
            {
                idUsuario = Convert.ToInt32(dr["idUsuario"]),
                dsNome = dr["dsNome"].ToString(),
                dsEmail = dr["dsEmail"].ToString(),
                dsEmailAmoo = dr["dsEmailAmoo"].ToString(),
                dsSenha = dr["dsSenha"].ToString(),
                bolPrimeiroAcesso = Convert.ToBoolean(dr["bolPrimeiroAcesso"].ToString()),
                dtPrimeiroAcesso = Convert.ToDateTime(dr["dtPrimeiroAcesso"].ToString()),
                dtUltimoAcesso = Convert.ToDateTime(dr["dtUltimoAcesso"].ToString()),
                bolUsuarioAtivo = Convert.ToBoolean(dr["bolUsuarioAtivo"].ToString()),
                dsLogradouro = dr["dsLogradouro"].ToString(),
                dsEstado = dr["dsEstado"].ToString(),
                dsCidade = dr["dsCidade"].ToString(),
                dsPais = dr["dsPais"].ToString(),
                dsBairro = dr["dsBairro"].ToString(),
                dsCep = dr["dsCep"].ToString(),
                bolUsuarioAdministrador = Convert.ToBoolean(dr["bolUsuarioAdministrador"].ToString()),
                Identidade = dr["Identidade"].ToString(),
                CPFCNPJ = dr["CPFCNPJ"].ToString()
                
            };
        }
        protected internal static Usuario Load(IDataReader dr)
        {
            return new Usuario()
            {
                idUsuario = dr.GetInt32(0),
                dsNome = dr.GetString(1),
                dsEmail = dr[2] == DBNull.Value ? "" : dr.GetString(2),
                dsEmailAmoo = dr.GetString(3),
                dsSenha = dr.GetString(4),
                bolPrimeiroAcesso = dr.GetBoolean(5),
                dtPrimeiroAcesso = dr.GetDateTime(6),
                dtUltimoAcesso = dr.GetDateTime(7),
                bolUsuarioAtivo = dr.GetBoolean(8),
                dsLogradouro = dr[9] == DBNull.Value ? "" : dr.GetString(9),
                dsEstado = dr[10] == DBNull.Value ? "" : dr.GetString(10),
                dsCidade = dr[11] == DBNull.Value ? "" : dr.GetString(11),
                dsPais = dr[12] == DBNull.Value ? "" : dr.GetString(12),
                dsBairro = dr[13] == DBNull.Value ? "" : dr.GetString(13),
                dsCep = dr[14] == DBNull.Value ? "" : dr.GetString(14),
                bolUsuarioAdministrador = dr.GetBoolean(15),
                Identidade = dr[16] == DBNull.Value ? "" : dr.GetString(16),
                CPFCNPJ = dr[17] == DBNull.Value ? "" : dr.GetString(17)
            };
        }
    }
}
